﻿package net.sapfree.core.base;

import java.util.List;

public class SQLBuilderBase 
{

	/**
	 * 根据表名  字段 字段值 获取批量删除SQL
	 * @param table
	 * @param pk
	 * @param value
	 * @return
	 */
	public String getDeleteRecordByPrimaryKeySQL(String table, String pk,String value)
	{
		return "DELETE FROM " + table + " WHERE " + pk + " IN ('" + value.replace(",", "','") + "')";
	}
	/**
	 * 根据表名  字段 字段值 获取批量删除SQL
	 * @param tableName
	 * @param key
	 * @param value 传入之前格式已经转换为：'','',''形式
	 * @return
	 */
	public static String buildBatchDeleteSql(String tableName,String key,String value){
		StringBuffer str = new StringBuffer();
		str.append("DELETE FROM ")
		.append(tableName)
		.append(" WHERE ")
		.append(key)
		.append(" IN (").append(value).append(")");
		return str.toString();
	}
	/**
	 * 将List<String> 对象转换为SQL IN (值) 的格式
	 * @param list
	 * @return
	 */
	public  static String listToIn(List<String> list){
		StringBuffer str = new StringBuffer();
		if(list!=null){
			int count=list.size();
			for(int i=0;i<count;i++){
				str.append(",'").append(list.get(i)).append("'");
			}
			if(str.length()>0)
				str.deleteCharAt(0);
		}
		return str.toString();
	}
	/**
	 * 将String[] args对象转换为SQL IN (值) 的格式
	 * @param args
	 * @return
	 */
	public  static String listToIn(String[] args){
		StringBuffer str = new StringBuffer();
		if(args!=null && args.length>0){
			int count = args.length;
			for(int i=0;i<count;i++){
				str.append(",'").append(args[i]).append("'");
			}
			if(str.length()>0)
				str.deleteCharAt(0);
		}
		return str.toString();
	}


}
